#ifndef __SimulatorGui_h_
#define __SimulatorGui_h_

#include <OISEvents.h>
#include <OISInputManager.h>
#include <OISKeyboard.h>
#include <OISMouse.h>

#include <OgreRoot.h>
#include <OgreCamera.h>
#include <SdkTrays.h>
#include <SdkCameraMan.h>
#include "NxOgre.h"
#include "AppSettings.h"
#include "StartMenu.h"
#include "WeatherWindow.h"
#include "WaterWindow.h"
#include "EditWindow.h"
#include "TestWindow.h"
#include "SimulatorMainMenu.h"

using namespace OgreBites;

class SimulatorGui
{
public:


public:
	SimulatorGui(SdkCameraMan *mCameraMan, SdkTrayManager *mTrayMgr);
	~SimulatorGui(void);

	void setGuimode(bool enable);
	void toggleGuimode();

	void showLoadingLabel(Ogre::DisplayString text);
	void hideLoadingLabel(void);
	void resetMenus(void);

	void injectCameras(Ogre::StringVector cameras);
	int getCameraSelection(void);

public:
	Label* mLoadingLabel;
	SimulatorMainMenu *mMainMenu;

	Ogre::StringVector mCameraMenuItems;
	SelectMenu* mCameraMenu;
	Button *mUpdateButton;
private:
	bool bGuiMode;
	SdkCameraMan *mCameraMan;
	SdkTrayManager *mTrayMgr;

};

#endif // #ifndef __SimulatorGui_h_
